package com.qf.FinancialManagement.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qf.common.annotation.Excel;
import com.qf.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * ---好运常在---
 *
 * @author ChengShuaiKe
 * @date 2025/9/1 0001
 * @desc
 */

public class TmsOrdersCc extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    private Long id;

    /**
     * 应收单号
     */
    @Excel(name = "应收单号")
    private String receivableNo;

    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private String orderNo;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customer;

    /**
     * 客户编码
     */
    @Excel(name = "客户编码")
    private String customerCode;

    /**
     * 合同名称
     */
    @Excel(name = "合同名称")
    private String contractName;

    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private String orderStatus;

    /**
     * 签收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;

    /**
     * 发货地址
     */
    @Excel(name = "发货地址")
    private String shippingAddress;

    /**
     * 记录创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /**
     * 记录更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;
    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setReceivableNo(String receivableNo)
    {
        this.receivableNo = receivableNo;
    }

    public String getReceivableNo()
    {
        return receivableNo;
    }

    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }

    public void setCustomer(String customer)
    {
        this.customer = customer;
    }

    public String getCustomer()
    {
        return customer;
    }

    public void setCustomerCode(String customerCode)
    {
        this.customerCode = customerCode;
    }

    public String getCustomerCode()
    {
        return customerCode;
    }

    public void setContractName(String contractName)
    {
        this.contractName = contractName;
    }

    public String getContractName()
    {
        return contractName;
    }

    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }

    public void setSignTime(Date signTime)
    {
        this.signTime = signTime;
    }

    public Date getSignTime()
    {
        return signTime;
    }

    public void setShippingAddress(String shippingAddress)
    {
        this.shippingAddress = shippingAddress;
    }

    public String getShippingAddress()
    {
        return shippingAddress;
    }

    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("receivableNo", getReceivableNo())
                .append("orderNo", getOrderNo())
                .append("customer", getCustomer())
                .append("customerCode", getCustomerCode())
                .append("contractName", getContractName())
                .append("orderStatus", getOrderStatus())
                .append("signTime", getSignTime())
                .append("shippingAddress", getShippingAddress())
                .append("createdAt", getCreatedAt())
                .append("updatedAt", getUpdatedAt())
                .toString();
    }




    // 用于模糊搜索的关键词字段
    private String keyword;

    // 用于日期范围搜索的字段
    private Date beginSignTime;
    private Date endSignTime;

    // 关键词字段的 getter/setter
    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    // 日期范围字段的 getter/setter
    public Date getBeginSignTime() {
        return beginSignTime;
    }

    public void setBeginSignTime(Date beginSignTime) {
        this.beginSignTime = beginSignTime;
    }

    public Date getEndSignTime() {
        return endSignTime;
    }

    public void setEndSignTime(Date endSignTime) {
        this.endSignTime = endSignTime;
    }
}